#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QMenuBar>
#include<QFileDialog>
#include<QDebug>
#include<fstream>
using namespace std;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QMenuBar *menuBar = new QMenuBar();
    this->setWindowTitle("我的记事本");
    QMenu*menu=new QMenu("文件");
    menuBar->addMenu(menu);

    QAction*action1=new QAction("保存");
    QAction*action2=new QAction("加载");
    menu->addAction(action1);
    menu->addAction(action2);

    edit=new QTextEdit(this);
    this->setCentralWidget(edit);
    edit->setPlaceholderText("此处编写文本内容");


    connect(action1,&QAction::triggered,this,&MainWindow::save);
    connect(action2,&QAction::triggered,this,&MainWindow::load);

    this->setMenuBar(menuBar);

}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::save()
{
        QString filename = QFileDialog::getSaveFileName(this, "保存文件", "C:\\Users\\zcg\\");
         if (filename.isEmpty()) {
            qDebug() << "用户取消保存";
            return;
           }
         qDebug() << "fileName:" << filename;

        // 使用 QFile 替代 ofstream
         QFile file(filename);
        if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
            // 打印具体错误原因（关键！）
            qDebug() << "保存文件失败：" << file.errorString();
            return;
        }

        // 写入内容
        QTextStream out(&file);
        out << edit->toPlainText(); // 直接写入 QString，无需转换

        file.close();
        qDebug() << "文件保存成功";
}

void MainWindow::load()
{

}

